const request = require('request');
const fs = require('fs');
 
var img_src = 'https://www.baidu.com/img/bd_logo1.png'; //获取图片的url

         
// 保存url网络图片
function saveUrlImage (url,path,name) {
  //采用request模块，向服务器发起一次请求，获取图片资源
  request.head(url,function(err,res,body){
    if(err){
        console.log(err);
    }
  });

  //通过流的方式，把图片写到本地/image目录下，并用新闻的标题和图片的标题作为图片的名称。
    request(url).pipe(fs.createWriteStream('.'+ path + name));     
}

// 保存base64图片
function saveBase64Image(imgData,path,name) {
  //过滤data:URL
  const base64Data = imgData.replace(/^data:image\/\w+;base64,/, "");
  // 返回一个被 string 的值初始化的新的 Buffer 实例,原始二进制数据存储在 Buffer 类的实例中，        一个 Buffer 类似于一个整数数组，但它对应于 V8 堆内存之外的一块原始内存。
  const dataBuffer = Buffer.from(base64Data, 'base64');

  fs.writeFile(path + name, dataBuffer, function(err) {
      if(err){
        console.log(err);
      }else{
        console.log("保存成功！");
      }
  });

}

module.exports = {
  saveUrlImage,
  saveBase64Image,
}